package collection;

import java.util.*;

/**
 * Created with IntelliJ IDEA.
 * ClassName: CollectionTest
 * Package: collection
 * Description:
 * User: fzykd
 *
 * @Author: LQH
 * Date: 2023-08-20
 * Time: 15:42
 */

public class CollectionTest {
    public static void main(String[] args) {

        //多态
        Collection coll = new ArrayList();

        //添加
        coll.add(1); //自动装箱
        coll.add("AA");
        coll.add(new Object());
        coll.add(new Person());
        //可以直接输出
        System.out.println(coll);

        //addAll
        Collection coll1 = new ArrayList();
        coll.add("EE");
        coll.add("PP");

        coll.add(coll1); //add 是把整体看为一个元素
        coll.addAll(coll1);
        System.out.println(coll);

        //获取集合元素
        System.out.println(coll.size());

        //数组----》集合
        Integer[] arr = new Integer[]{1,2,3}; //自动装箱以后的了
        List list = Arrays.asList(arr);
        System.out.println(list.size()); //3
        //asList参数是Object对象 不能放基本数据类型
        System.out.println(list);//[1, 2, 3]

        int[] arr1 = new int[]{1,2,3};
        //int就是基本数组类型 把整个arr1 看为一个对象 转换了
        List list1 = Arrays.asList(arr1);
        System.out.println(list1.size()); //1
        System.out.println(list1); //[[I@74a14482]

        System.out.println("--------------");
        //获取迭代器对象
        Iterator iterator = coll.iterator();
        //判断是否还有下一个
        while (iterator.hasNext()){
            //1.下移指针 然后将下移以后位置的元素返回
            System.out.println(iterator.next());
        }


        //增强for 也叫foreach 底层调用了迭代器
        //修改可能是对象的地址
        for (Object list2 : coll) {
            System.out.println(list2);
        }

        //删除数据 删除索引是2的数据
        list.remove(2);

        //删除数据是2的元素
        list.remove(Integer.valueOf(2));



    }
}

class Person{
    String name;

    int age;
}
